container {
  padding: 0px
}
container box {
  max-width: none; padding: 0px; padding-bottom: var(--page-gap)
}
banner {
  display: block; position: relative; z-index: 100
}
banner box {
  display: block
}
banner box slogan {
  display: block; font-size: 4.8rem; color: #000; font-weight: bold; text-align: center
}
banner box subtitle {
  display: block; padding: var(--page-gap) 0px; font-size: 3.6rem; color: #000; font-weight: bold; text-align: center
}
banner box div.image {
  width: 100%; padding-top: calc(var(--page-gap) * 2); text-align: center
}
banner box div.image img {
  max-width: 80%; vertical-align: top
}
.home_section {
  width: 100%; box-sizing: border-box; padding: var(--page-outer-padding)
}
.home_section h3 {
  width: 100%; font-size: 3.6rem; color: #333; line-height: 120%; text-align: center; position: relative
}
.home_section h3::after {
  content: ''; width: 140px; height: 6px; background: #3e868f; position: absolute; bottom: 4px; left: 50%; transform: translate(-50%, 0); z-index: -100
}
.home_section div.box {
  width: 100%; box-sizing: border-box; max-width: var(--page-max-width); margin: auto; padding: calc(var(--page-gap) * 3) 0px
}
.home_attitude_list {
  width: 100%; padding-top: calc(var(--page-gap) * 2); display: flex; flex-wrap: wrap; justify-content: space-between
}
.home_attitude_list div.item {
  width: 33.33%
}
.home_attitude_list div.item p[type=image] {
  width: 100%; height: 320px; display: flex; align-items: center; justify-content: center
}
.home_attitude_list div.item p[type=image] img {
  display: block; max-width: 60%; max-height: 100%
}
.home_attitude_list div.item p[type=title] {
  padding-top: var(--page-gap); font-size: 2.4rem; font-weight: bold; color: #333; text-align: center
}
.home_attitude_list div.item p[type=subtitle] {
  padding-top: calc(var(--page-gap) / 2); font-size: 1.6rem; line-height: 160%; color: #333; text-align: center
}
.home_service_list {
  width: 100%; padding-top: calc(var(--page-gap) * 2)
}
.home_section_case div.package_case_list {
  margin: 0px !important; padding: 0px !important; padding-top: calc(var(--page-gap) * 2) !important
}
.home_section_case div.package_case_list div.items {
  margin: 0px !important; padding: 0px !important
}
@media screen and (max-width: 960px) {
  banner box slogan {
    font-size: 2.4rem
  }
  banner box subtitle {
    font-size: 1.6rem
  }
  .home_section h3 {
    font-size: 2.4rem
  }
  .home_section h3::after {
    width: 80px; bottom: 2px; height: 4px
  }
  .home_attitude_list div.item {
    width: 100%; padding-bottom: var(--page-gap)
  }
  .home_attitude_list div.item p[type=image] {
    height: auto; padding: var(--page-gap) 0px
  }
  .home_attitude_list div.item p[type=image] {
    width: 100%; max-width: none; max-height: none
  }
  .home_attitude_list div.item p[type=title] {
    font-size: 2rem
  }
  .home_attitude_list div.item p[type=subtitle] {
    font-size: 1.4rem
  }
  .home_attitude_list div.item:last-of-type {
    padding-bottom: 0px
  }
}